// 接口使用extends关键字，继承已知接口
interface IGoods {
    name: string,
    price: ()=>number
}

interface ITransport {
    // 运输方式
    way: ()=>string,
    // 保存方式
    save: ()=>string,
}

// 继承了商品接口，那么水果自然就有name和price属性
// 继承了运输接口，那么水果自然就有way和save属性
interface IFruit extends IGoods,ITransport {
    // 子接口中的属性的类型，不能与父节口中的冲突
    name: string,
    taste: ()=>string,
}

let apple:IFruit = {
    name: "红富士",
    price: ():number=> {
        return 7;
    },
    taste: ():string=> {
        return "甜";
    },
    way: ():string=> {
        return "大货车";
    },
    save: ():string=> {
        return "低温冷藏";
    }
}